package com.atguigu.bigdata.scala.chapter06

object Scala13_Object_Interface_2 {

    def main(args: Array[String]): Unit = {

        val user = new User() with Update with Mytrait;
        user.insertUser()
        // OCP开发原则：Open Close(开闭原则)
        // 所谓的开闭原则，就是开发代码时，运行在后期对功能进行扩展，但是不允许修改之前的代码。

        // 开发中，不允许扩展功能时，修改之前的程序

        // scala中的特质支持动态混入功能：创建对象的时候可以混入特质
        user.updateUser()
    }
    class Parent {
        // 修改用户
        def updateUser(): Unit = {
            println("update user...")
        }
    }
    trait Mytrait {

    }
    trait Update {
        def updateUser(): Unit = {
            println("update user...")
        }
    }
    class User {
        def insertUser(): Unit = {
            println("insert user...");
        }
//        // 修改用户
//        def updateUser(): Unit = {
//            println("update user...")
//        }
    }
}
